package codetop.greedy;

import java.util.ArrayList;
import java.util.List;

public class Code763 {
    public List<Integer> partitionLabels(String s) {
        int []charsIndex=new int[26];
        for (int i = 0; i < s.length(); i++) {
            charsIndex[s.charAt(i)-'a']=i;
        }
        int last=0;
        int index=0;
        int pre=0;
        List<Integer> ans =new ArrayList<>();
        while (index<s.length()){
            char c=s.charAt(index);
            last=Math.max(last,charsIndex[c-'a']);
            if (index==last){
                ans.add(index-pre);
                pre=index;
            }
            index++;
        }
        return ans;
    }
}
